The present invention relates to a synchronization control device suitable for receiving isochronously-transferred packet data to perform synchronized reproduction of the received packet data.
The USB (acronym for Universal Serial Bus) is being widely used today as one type of cable interconnecting digital equipment. In recent years, there has been supplied a great variety of digital equipment connectable via the USB to other equipment, and thus the applications of the USB have been getting even wider and wider. Among various known forms of data transfer using the USB is the isochronous transfer which repeats packet data transfer from a transmitting end to a receiving end in response to bus clock pulses generated with one-msec. cycles. (hereinafter called “USB frames”).
The assignee of the present application has proposed and carried out performance studies on an audio communication system that uses the USB-based isochronous transfer scheme to transmit coded data, such as AC 3 (Audio Code 3) data. FIG. 7 is a block diagram schematically showing a general organization of the audio communication system proposed by the assignee of the present application. As shown, the audio communication system includes a computer 1 and an audio reproduction apparatus 2 interconnected via a USB 3. The computer 1 includes a DVD (Digital Versatile Disk) drive (not shown) for receiving and driving a DVD having AC 3 coded data recorded thereon. The computer 1 also includes an AC 3 data reproduction section 101 and a USB interface unit 102.
Functions of the AC 3 data reproduction section 101 and USB interface unit 102 are described with reference to sections (a) to (c) of FIG. 8. The AC 3 data reproduction section 101 functions to reproductively read out AC 3 coded data from a not-shown DVD. The AC 3 coded data recorded on the DVD are data obtained by sampling audio signals with 48-kHz sampling clock pulses to provide PCM samples and then performing compression coding on each group of 1,536 PCM samples (see section (a) of FIG. 8). For each synchronized frame of a 32 (32=1,536/48 kHz)-msec. period, the AC 3 data reproduction section 101 reads out and outputs the AC 3 coded data corresponding to 1,536 PCM samples (see section (b) of FIG. 8).
The USB interface unit 102 combines the AC 3 coded data, output from the AC 3 data reproduction section 101 for each synchronized frame, into one or more packet data, and transfers one such packet data to the audio reproduction apparatus 2, via the USB 3, per USB frame of a one-msec. period. Because the AC 3 coded data output from the AC 3 data reproduction section 101 in the synchronized frame have undergone the compression coding, the AC 3 coded data to be transferred as the packet may run out in one of 32 USB frames within the synchronized frame. In such a case, the USB interface unit 102 transfers “0 (zero)” data in each of the remaining USB frames within the synchronized frame. The foregoing are an overview of the functions of the AC 3 data reproduction section 101 and the USB interface unit 102.
The audio reproduction apparatus 2 shown in FIG. 7 should be able to reproduce the audio signals as before the compression coding based on the AC 3 scheme, by receiving and decoding the packets of the AC 3 coded data sent from the computer 1 via the USB 3.
However, with the above-discussed audio communication system, it is difficult for the audio reproduction apparatus 2 to reproduce the AC 3 coded data in a synchronized manner without deterioration in quality of the reproduced data. The reasons for the reproduction quality deterioration are explained below with reference to FIG. 9.
The USB interface unit 102 operates in synchronism-with clock pulses separate from timing-controlling clock pulses of the AC 3 data reproduction section 101. Therefore, the frequency of bus clock pulses in the USB interface unit 102 does not necessarily coincide with 32 times the frequency of the synchronized frames and thus would become slightly lower or higher than 32 times the frequency of the synchronized frames constantly or temporarily. If the frequency of the bus clock pulses in the USB interface unit 102 is lower than 32 times the frequency of the synchronized frames, the 32 USB packets of a given synchronized frame SyncF-1 can be transferred at appropriate timing in accordance with the bus clock pulses, but afterwards the phase of the bus clock pulses would gradually lag behind the phase of the synchronized frames as the time passes, as illustratively shown in section (a) of FIG. 9. Consequently, at a subsequent synchronized frame SyncF-M1, there would occur a situation in which, even when timing has arrived to transmit the first or leading packet of the AC 3 coded data output in the synchronized frame SyncF-M1, transmission of the last (32nd) packet in the immediately-preceding synchronized frame has not yet been completed.
If, on the other hand, the frequency of the bus clock pulses in the USB interface unit 102 is higher than 32 times the frequency of the synchronized frames, the phase of the bus clock pulses would gradually lead the phase of the synchronized frames as the time passes, as illustratively shown in section (b) of FIG. 9. Thus, as illustrated in section (b) of FIG. 9, there would occur a situation in which, even when timing has arrived, after transmission of the last (32nd) packet in a given synchronized frame SyncF-M2, to transmit the first or leading packet of the AC 3 coded data to be output in the next synchronized frame, the first or leading packet can not be generated in time.
In order to cope with such situations, the USB interface unit 102 performs the following control. In the case of section (a) of FIG. 9, the USB interface unit 102 performs the control for terminating the packet transfer after completion of the transmission of the 31st packet in the synchronized frame preceding the frame SyncF-M1. In the case of section (b) of FIG. 9, the USB interface unit 102 performs the control for, after completion of the transmission of the 32nd packet, transferring an extra, 33rd packet (consisting of “0” data) in the synchronized frame SyncF-M2 in synchronism with a subsequent bus clock pulse. Even when the frequency of the bus clock pulses in the USB interface unit 102 does not exactly coincide with 32 times the frequency of the synchronized frames, such packet transfer control allows all of the AC 3 coded data output from the AC 3 data reproduction section 101 to be transferred with no delay in each of the synchronized frames. However, as a result of the packet transfer control, undesired jitters corresponding in time length to one USB frame would be produced in reception timing of the AC 3 coded data in the audio reproduction apparatus 2 of FIG. 7, as illustratively shown in sections (c) and (d) of FIG. 9.
In the illustrated example of section (c) of FIG. 9, the 32 USB packets are appropriately transferred in almost all of the synchronized frames; however, on some rare occasion, only 31 USB packets are transferred in a given synchronized frame. Ideally, the AC 3 coded data, to be received by the audio reproduction apparatus 2 in the synchronized frame immediately following the given synchronized frame, should be received only one USB frame later. Further, in the illustrated example of section (d) of FIG. 9, the 32 USB packets are appropriately transferred in almost all of the synchronized frames; however, on some rare occasion, 33 USB packets are transferred in a given synchronized frame. Ideally, the AC 3 coded data, to be received by the audio reproduction apparatus 2 in the synchronized frame immediately following the given synchronized frame, should be received only one USB frame earlier. Here, the audio reproduction apparatus 2 performs synchronized reproduction of the AC 3 coded data in synchronism with each 32-msec. synchronized frame (that is asynchronous with the synchronized frame of the AC 3 data reproduction section 101 in the computer 1). Specifically, the synchronized reproduction of the AC 3 coded data is performed by sequentially storing the packets of the AC 3 coded data in a FIFO (First-In-First-Out) buffer and then performing a so-called synchronism test or evaluation so as to control the packet readout frequency in the FIFO buffer in accordance with the result of the synchronism evaluation. Thus, if jitters corresponding in time length to one USB frame are produced at the reception timing of the AC 3 coded data in the audio reproduction apparatus 2, the jitters would adversely affect the synchronism evaluation and thereby raise the problem that the synchronized reproduction of the AC 3 coded data can not be performed appropriately.